This is a timeline-style look at how free software has evolved and existed from its inception.
The phrase "free software" refers to software that is liberally licensed, allowing the end user more freedoms than conventional-software licences. This is not to be confused with software which is available to the end user at no cost, which is known as freeware. Free software may be distributed with or without charge.
Advocates of free software distinguish themselves from those of open-source software. However, as defined by the Free Software Foundation and Open Source Initiative, respectively, the terms describe nearly identical sets of software.
Contents |
The concept of open source and the free sharing of technological information existed long before computers. For example, cooking recipes have been shared since the beginning of human culture. Open source can pertain to businesses and to computers, software and technology.
In the early years of automobile development, a group of capital monopolists owned the rights to a 2-cycle gasoline engine patent originally filed by George B. Selden.[1] By controlling this patent, they were able to monopolize the industry and force car manufacturers to adhere to their demands, or risk a lawsuit. In 1911, independent automaker Henry Ford won a challenge to the Selden patent. The result was that the Selden patent became virtually worthless and a new association (which would eventually become the Motor Vehicle Manufacturers Association) was formed.[1] The new association instituted a cross-licensing agreement among all US auto manufacturers: although each company would develop technology and file patents, these patents were shared openly and without the exchange of money between all the manufacturers.[1] By the time the US entered World War 2, 92 Ford patents and 515 patents from other companies were being shared between these manufacturers, without any exchange of money (or lawsuits).[1]
Software communities that can now be compared with today's free-software community existed for a long time before the free-software movement and the term "free software".[2] According to Richard Stallman, the software-sharing community at MIT existed for "many years" before he got involved in 1971.[3] In the 1950s and into the 1960s almost all software was produced by computer science academics and corporate researchers working in collaboration. As such, it was generally distributed under the principles of openness and co-operation long established in the fields of academia, and was not seen as a commodity in itself. At this time, source code, the human-readable form of software, was generally distributed with the software itself because users frequently modified the software themselves, because it would not run on different hardware or OS without modification, and also to fix bugs or add new functionality.[4]
An IBM mainframe operating system, Airline Control Program (ACP), from 1967 reportedly distributed its source code in a way very similar to the way free software is now.[5] User groups such as that of the IBM 701, called SHARE, and that of Digital Equipment Corporation (DEC), called DECUS were formed to facilitate the exchange of software.
Thus in this era, software was free in a sense, not because of any concerted effort by software users or developers, but rather because of necessity and a differing academic culture.
By the late 1960s change was coming: as operating systems and programming language compilers evolved, software production costs were dramatically increasing. A growing software industry was competing with the hardware manufacturers' bundled software products (the cost of bundled products was included in the hardware cost), leased machines required software support while providing no revenue for software, and some customers able to better meet their own needs[6] did not want the costs of manufacturer's software to be bundled with hardware product costs. In the United States vs. IBM antitrust suit, filed January 17, 1969, the U.S. government charged that bundled software was anticompetitive.[7] While some software continued to come at no cost, there was a growing amount of software that was for sale only under restrictive licences.
Very similar to open standards, researchers with access to Advanced Research Projects Agency Network (ARPANET) used a process called Request for Comments to develop telecommunication network protocols. This collaborative process of the 1960s led to the birth of the Internet in 1969.
In the 1970s AT&T distributed early versions of UNIX at no cost to government and academic researchers, but these versions did not come with permission to redistribute or to distribute modified versions, and were thus not free software in the modern meaning of the phrase.
In the late 1970s and early 1980s, computer vendors and software-only companies began routinely charging for software licences, marketing it as "Program Products" and imposing legal restrictions on new software developments, now seen as assets, through copyrights, trademarks, and leasing contracts. In 1976 Bill Gates signaled the change of the times when he wrote his now-famous Open Letter to Hobbyists, sending out the message that what hackers called "sharing" was, in his words, "stealing". In 1979, AT&T, for example, began to enforce its restrictive licences when the company decided it might profit by selling the Unix system.[8]
Some free software which was developed in the 70s and early 80s which continues to be used includes SPICE,[9] TeX (developed by Donald Knuth), and the X Window System. The W Window System provided a start for the X Window System, but differed in several fundamental ways. Development of the X Window System was concurrent with the GNU project, but GNU was in no way responsible for the X Window System.
In a foreshadowing of the Internet "open source" revolution, software with source code included became available on BBS networks in the 1980s. This was sometimes a necessity; software written in BASIC and other interpreted languages could only be distributed as source code, and much of it was freeware. When people began gathering such source code, and setting up boards specifically to discuss its modification, this was a de-facto open source system.
One of the most obvious examples of this is one of the most-used BBS systems and networks, WWIV, developed initially in BASIC by Wayne Bell. A culture of "modding" his software, and distributing the mods, grew up so extensively that when the software was ported to first Pascal, then C++, its source code continued to be distributed to registered users, who would share mods and compile their own versions of the software. This may have contributed to its being a dominant system and network, despite being outside the Fidonet umbrella that was shared by so many other BBS makers.
Meanwhile, the advent of Usenet and UUCPNet in the early 1980s further connected the programming community and provided a simpler way for programmers to share their software and contribute to software others had written.[10]
Open source on the Internet began when the Internet was relatively primitive, with software distributed via UUCP, Usenet, and irc, and gopher. Linux, for example, was first widely distributed by posts to comp.os.linux on the Usenet, which is also where its development was discussed. Linux became the archetype for organized open source development, in general.
As the Internet grew, open source-style software progressed to more advanced presentation and sharing forms through the World Wide Web (of which gopher was a precursor). There are now many Web sites, organizations and businesses that promote the open-source sharing of everything from computer code to mechanics of improving a product, technique, or medical advancement.
In 1983, Richard Stallman launched the GNU Project to write a complete operating system free from constraints on use of its source code. Particular incidents that motivated this include a case where an annoying printer couldn't be fixed because the source code was withheld from users.[11] Stallman also published the GNU Manifesto, in 1985, to outline the GNU project's purpose and explain the importance of free software. Another probable inspiration for the GNU project and its manifesto was a disagreement between Stallman and Symbolics, Inc. over MIT's access to updates Symbolics had made to its Lisp machine, which was based on MIT code.[12] Soon after the launch, he coined the term "free software" and founded the Free Software Foundation to promote the concept and a free software definition was published in February 1986.
In 1989, the first version of the GNU General Public License was published.[13] A slightly updated version 2 was published in 1991.
In 1989, some GNU developers formed the company Cygnus Solutions.[14]
The GNU project's kernel, later called "GNU Hurd", was continually delayed, but most other components were completed by 1991. Some of these, especially the GNU Compiler Collection, had become market leaders in their own right. The GNU Debugger and GNU Emacs were also notable successes.
The Linux kernel, started by Linus Torvalds, was released as freely modifiable source code in 1991. The licence wasn't a free-software licence, but with version 0.12 in February 1992, Torvalds relicensed the project under the GNU General Public License.[15] Much like Unix, Torvalds' kernel attracted the attention of volunteer programmers. Until this point, the GNU project's lack of a kernel meant that no complete free-software operating systems existed. The development of Torvalds' kernel closed that last gap. The combination of the almost-finished GNU operating system and the Linux kernel made the first complete free-software operating system. Among Linux distributions, Debian GNU/Linux, begun by Ian Murdock in 1993, is noteworthy for being explicitly committed to the GNU and FSF principles of free software. The Debian developers' principles are expressed in the Debian Social Contract. Since its inception, the Debian project has been closely linked with the FSF, and in fact was sponsored by the FSF for a year in 1994–1995. In 1997, former Debian project leader Bruce Perens also helped found Software in the Public Interest, a non-profit funding and support organization for various free-software projects.[16] GNU/Linux remains free software under the terms of the GNU GPL, and many businesses offer customized Linux-based products, or distributions, with commercial support. The naming remains controversial. Referring to the complete system as simply "Linux" is common usage. However, the Free Software Foundation, and many others, advocate the use of the term "GNU/Linux", saying that it is a more accurate name for the whole operating system.[17]
When the USL v. BSDi lawsuit was settled out of court in 1993, FreeBSD and NetBSD (both derived from 386BSD) were released as free software. OpenBSD forked from NetBSD in 1995. Other more recent forks also exist, including Apple's Darwin OS.
In the mid to late 90s, when many website-based companies were starting up, free software became a popular choice for web servers. Apache HTTP Server became the most-used web-server software – a title that still holds as of 2010. Systems based on a common "stack" of software with the Linux kernel at the base, Apache providing web services, the MySQL database engine for data storage, and the PHP programming language for providing dynamic pages, came to be known as LAMP systems.
In 1997, Eric Raymond published The Cathedral and the Bazaar, a reflective analysis of the hacker community and free-software principles. The paper received significant attention in early 1998 and was one factor in motivating Netscape Communications Corporation to release their popular Netscape Communicator Internet suite as free software. This code is today the basis for Mozilla Firefox and Thunderbird.
Netscape's act prompted Raymond and others to look into how to bring free-software principles and benefits to the commercial-software industry. They concluded that FSF's social activism was not appealing to companies like Netscape, and looked for a way to rebrand the free-software movement to emphasize the business potential of the sharing of source code.
The label “open source” was adopted by some people in the free software movement at a strategy session[18] held at Palo Alto, California, in reaction to Netscape's January 1998 announcement of a source code release for Navigator. The group of individuals at the session included Christine Peterson who suggested “open source”, Todd Anderson, Larry Augustin, Jon Hall, Sam Ockman, Michael Tiemann and Eric S. Raymond. Over the next week, Raymond and others worked on spreading the word. Linus Torvalds gave an all-important sanction the following day. Phil Hughes offered a pulpit in Linux Journal. Richard Stallman, pioneer of the free software movement, flirted with adopting the term, but changed his mind.[18] Those people who adopted the term used the opportunity before the release of Navigator's source code to free themselves of the ideological and confrontational connotations of the term "free software". Netscape released its source code under the Netscape Public License and later under the Mozilla Public License.[19]
The term was given a big boost at an event organized in April 1998 by technology publisher Tim O'Reilly. Originally titled the “Freeware Summit” and later known as the “Open Source Summit”,[20] The event brought together the leaders of many of the most important free and open-source projects, including Linus Torvalds, Larry Wall, Brian Behlendorf, Eric Allman, Guido van Rossum, Michael Tiemann, Paul Vixie, Jamie Zawinski of Netscape, and Eric Raymond. At that meeting, the confusion caused by the name free software was brought up. Tiemann argued for “sourceware” as a new term, while Raymond argued for “open source.” The assembled developers took a vote, and the winner was announced at a press conference that evening. Five days later, Raymond made the first public call to the free software community to adopt the new term.[21] The Open Source Initiative was formed shortly thereafter.[18]
However, Richard Stallman and the FSF harshly objected to the new organization's approach. They felt that, with its narrow focus on source code, OSI was burying the philosophical and social values of free software and hiding the issue of computer users' freedom. Stallman still maintained, however, that users of each term were allies in the fight against proprietary software.[22]
In August 1999, Sun Microsystems released the StarOffice office suite as free software under the GNU Lesser General Public License. The free-software version was renamed OpenOffice.org, and coexists with StarOffice.
Starting in the early 2000s, a number of companies began to publish a portion of their source code to claim they were open source, while keeping key parts closed. This led to the development of the now widely used terms free open-source software and commercial open-source software to distinguish between truly open and hybrid forms of open source.
X has become the de facto window system in free software.
KDE was founded in 1996 by Matthias Ettrich. At the time, he was troubled by the inconsistencies in UNIX applications. He proposed a new desktop environment. He also wanted to make this desktop easy to use. His initial Usenet post spurred a lot of interest.[23]
Ettrich chose to use the Qt toolkit for the KDE project. At the time, Qt did not use a free-software licence. Members of the GNU project became concerned with the use of such a toolkit for building a free-software desktop environment. In August 1997, two projects were started in response to KDE: the Harmony toolkit (a free replacement for the Qt libraries) and GNOME (a different desktop without Qt and built entirely on top of free software).[24] GTK+ was chosen as the base of GNOME in place of the Qt toolkit.
In November 1998, the Qt toolkit was licensed under the free/open-source Q Public License (QPL) but debate continued about compatibility with the GNU General Public License (GPL). In September 2000, Trolltech made the Unix version of the Qt libraries available under the GPL, in addition to the QPL, which has eliminated the concerns of the Free Software Foundation.
Both KDE and GNOME now participate in freedesktop.org, an effort to standardize Unix desktop interoperability, although there is still some competition between them.[25]
On May 8, 2007, Sun Microsystems released the Java Development Kit as OpenJDK under the GNU General Public License. Part of the class library (4% of it) could not be released as open source due to them being licensed from other parties and were included as binary plugs. Because of this, in June 2007, Red Hat launched IcedTea to resolve the encumbered components with the equivalents from GNU Classpath implementation. Since the release, most of the encumbrances have been solved, leaving only the audio engine code and colour management system (the latter is to be resolved using LittleCMS).